package com.car.common.base.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.car.common.base.BaseForm;
import com.car.common.base.BaseQuery;
import com.car.common.base.BaseVO;

/**
 * @ClassName: BaseMapper 
 * @Description: 通用的基础数据操作mapper		(CRUD)
 * @author: TiTanLee
 * @date: 2019年11月29日 下午7:45:35
 */
public interface BaseMapper {
	
	/**
	 * @Title: insert
	 * @author: TiTanLee   
	 * @date: 2019年11月29日 下午7:47:46 
	 * @Description: 添加数据
	 * @param form
	 * @return
	 * @return: int
	 */
	public int insert(BaseForm form);
	
	/**
	 * @Title: delete
	 * @author: TiTanLee   
	 * @date: 2019年11月29日 下午7:48:45 
	 * @Description: 根据ID删除数据
	 * @param id
	 * @return
	 * @return: int
	 */
	public int delete(@Param("id") Integer id);
	
	/**
	 * @Title: selectList
	 * @author: TiTanLee   
	 * @date: 2019年11月29日 下午7:51:28 
	 * @Description: 根据条件查询列表
	 * @param query
	 * @return
	 * @return: List<BaseVO>
	 */
	public List<BaseVO> selectList(BaseQuery query);
	
	/**
	 * @Title: selectOne
	 * @author: TiTanLee   
	 * @date: 2019年11月29日 下午7:52:50 
	 * @Description: 根据ID 查询对象
	 * @param id
	 * @return
	 * @return: BaseVO
	 */
	public BaseVO selectOne(@Param("id") Integer id);
	
	/**
	 * @Title: update
	 * @author: TiTanLee   
	 * @date: 2019年11月29日 下午7:54:03 
	 * @Description: 修改数据
	 * @param form
	 * @return
	 * @return: int
	 */
	public int update(BaseForm form);

}
